requireJS(['constant', 'site', 'handlebars'], function (Constant, site, Handlebars) {

    var listData = {pageNum: 1};
    var $WmsgType;
    var delectTplData = {};

    function init() {
        site.send({
            url: "manager/selectModeTypeList.do",
            //async:false
            data: {pageNum: 1},
            callback: function (data) {
                var list = JSON.parse(data)
                if (list.type == '1') {
                    var source = $("#a_content_tpl").html();
                    var template = Handlebars.compile(source);
                    var html = template(list);
                    $('#a_content').html(html);


                } else {
                    Constant.fn.Message("F", list.msg);
                }

            }

        })

        site.send({
            url: "manager/selectModeList.do",
            //async:false
            data: listData,
            callback: function (data) {
                var list = JSON.parse(data)
                if (list.type == '1') {
                    var source = $("#b_content_tpl").html();
                    var template = Handlebars.compile(source);
                    var html = template(list);
                    $('#b_content').html(html);
                    $('.public-botPage-right').createPager({
                        current: listData.pageNum,
                        total: list.content.total,
                        pageSize: list.content.pageSize,
                        needInput: false,
                        backFn: function (current) {
                            listData.pageNum = current;
                            init();
                        }
                    })
                } else {
                    Constant.fn.Message("F", list.msg);
                }

                $(".edit_template").click(function () {
                    pjaxGo('set/messagetemplate/message_permiss.html?id=' + $(this).data('id'))
                })

                onBindFun();

            }

        })
    }

    init();
//初始化编辑器
    var editor1, editor2;

    var initEditor = function () {
        editor1 = window.UE.getEditor('Wmail_content');
        editor2 = window.UE.getEditor('Wphone_content');
        $('#messg-span1 span').on('click', function () {
            var placehold = $(this).data('placehold');
            editor1.focus();
            editor1.execCommand('inserthtml', placehold);//'{'+placehold+'}'
        });
        $('#messg-span2 span').on('click', function () {
            var placehold = $(this).data('placehold');
            editor2.focus();
            editor2.execCommand('inserthtml', placehold);//'{'+placehold+'}'
        });

    }

    if (window.UE && window.UE.version) {
        initEditor();
    } else {
        setTimeout(initEditor, 200);
    }


    //初始化编辑器 end
    function onBindFun() {
        $(".delectList").on('click', function () {
            $(".ng-valid-maxlength").val('')
            $(".delectTplWinBox").show();
            delectTplData.id = $(this).data('id')

        })
        $("#delectCommit").on('click', function () {
            delectTplFun();
        })
        //拿到所有的复选框，当有复选框没选上的时候,取消全选
        $("input:checkbox[name='ch_id']").on('click', function () {
            var checkboxs = $("input:checkbox[name='ch_id']");
            var sum = 0;
            var length = checkboxs.length;
            $.each(checkboxs, function (i, checkbox) {
                if ($(checkbox).prop("checked")) {
                    sum++;
                    // 当checked 为true时tr addclass table-focus
                    $(this).parent('td').parent('tr').addClass('table-focus')
                } else {
                    // 当checked 为false时tr removeclass table-focus
                    $(this).parent('td').parent('tr').removeClass('table-focus')
                }

            })
            if (sum == length) {
                $('#checkAllOrNot').prop("checked", true);
            } else {
                $('#checkAllOrNot').prop("checked", false);
            }
            event.stopPropagation();
        })
        //全选和全不选
        $('#checkAllOrNot').on('click', function () {
            $("input[name='ch_id']").prop("checked", $(this).prop("checked"));
            // 当 checked 为true时tr addclass table-focus
            $("input:checkbox[name='ch_id']").each(function () {
                if ($(this).prop("checked")) {
                    $(this).parent('td').parent('tr').addClass('table-focus')
                } else {
                    $(this).parent('td').parent('tr').removeClass('table-focus')
                }
            })
            event.stopPropagation();
        })
        // 批量操作
        $("#allDdelectSelect").on('change', function () {
            var val = $(this).find("option:selected").val();
            // 批量删除
            if (val == 2) {
                delectTplData.id = '';
                var inp = $("input[name='ch_id']");//获得所有check按钮
                var count = 0;//计数
                for (var i = 0; i < inp.length; i++) {
                    if (inp[i].checked) {
                        count++;
                        if (count < 2) {
                            delectTplData.id = inp[i].value;
                        } else {
                            delectTplData.id += ("," + inp[i].value);
                        }
                    }
                }
                if (count != 0) {
                    delectTplFun();
                } else {
                    Constant.fn.Message("I", "未选择")
                }


                $("#allDdelectSelect").val('-1')
            } // 批量禁用

        })
    }

    // 添加
    $("#addTemplate").on('click', function () {
        // site.send({
        //     url: "manager/selectModeTypeList.do",
        //     //async:false
        //     data: {pageNum: 1},
        //     callback: function (data) {
        //         var list = JSON.parse(data)
        //         if (list.type == '1') {
        //             var source = $("#smsType_content_tpl").html();
        //             var template = Handlebars.compile(source);
        //             var html = template(list);
        //             $('#smsType_content').html(html);
        //
        //         } else {
        //             Constant.fn.Message("F", list.msg);
        //         }
        //
        //     }
        //
        // })

        // $(".winBoxAdd").show();
        pjaxGo('set/messagetemplate/message_permiss.html?')


    })
    // $("#WmailInput").click(function () {
    //     if ($(this).is(":checked")) {
    //         $("#Wmail").show();
    //     } else {
    //         $("#Wmail").hide();
    //
    //     }
    // })
    // $("#WsmsInput").click(function () {
    //     if ($(this).is(":checked")) {
    //         $("#Wphone").show();
    //     } else {
    //         $("#Wphone").hide();
    //
    //     }
    // })
    // var WinsertData;
    // $("#WcommitPermiss").click(function () {
    //     var msgtype = '';
    //     WinsertData = {};
    //     $("input[name='Wm_ch']").each(function (i) {
    //         if ($(this).is(":checked")) {
    //             msgtype += ($(this).val() + ",");
    //
    //         }
    //     })
    //     msgtype = msgtype.substring(0, msgtype.length - 1);
    //     WinsertData.send_types = msgtype;
    //     WinsertData.msg_types = $("#WmsgType").val()
    //     if (msgtype == '1' && $("#WsetMailTitle").val() != '' && editor1.getContent() != '') {
    //         WinsertData.mail_title = '【凯盛房贷】' + $("#WsetMailTitle").val();
    //         WinsertData.mail_content = editor1.getContent() + '【凯盛房贷】';
    //         insertFun();
    //     } else if (msgtype == '2' && $("#WsetSmsTitle").val() != '' && editor2.getContent() != '') {
    //         WinsertData.sms_title = '【凯盛房贷】' + $("#WsetSmsTitle").val();
    //         WinsertData.phone_content = editor2.getContent() + '【凯盛房贷】';
    //         insertFun();
    //     } else if (msgtype == '1,2' && $("#WsetMailTitle").val() !== '' && $("#WsetSmsTitle").val() != '' && editor1.getContent() != '' && editor2.getContent() != '') {
    //         WinsertData.mail_title = '【凯盛房贷】' + $("#WsetMailTitle").val();
    //         WinsertData.mail_content = editor1.getContent() + '【凯盛房贷】';
    //         WinsertData.sms_title = '【凯盛房贷】' + $("#WsetSmsTitle").val();
    //         WinsertData.phone_content = editor2.getContent() + '【凯盛房贷】';
    //         insertFun();
    //     } else {
    //         Constant.fn.Message('F', '不能为空')
    //     }
    //
    //
    // })

    // function insertFun() {
    //     site.send({
    //         url: "manager/insertTemplate.do",
    //         //async:false
    //         data: WinsertData,
    //         callback: function (data) {
    //             var list = JSON.parse(data)
    //             if (list.type == '1') {
    //                 pjaxGo('set/messagetemplate/message_template.html');
    //             } else {
    //                 Constant.fn.Message("F", list.msg);
    //             }
    //         }
    //     })
    // }

    // 删除
    function delectTplFun() {
        site.send({
            url: "manager/delectMessages.do",
            //async:false
            data: delectTplData,
            callback: function (data) {
                var list = JSON.parse(data)
                if (list.type == '1') {
                    $(".delectTplWinBox").hide();
                    init();
                    Constant.fn.Message("T", list.msg);
                } else {
                    Constant.fn.Message("F", list.msg);
                }
            }
        })

    }
    // 搜索
    $("#serachBtn").on('click',function () {
        listData={};
        if($("#msgTypesSelect").val()!=''){
            listData.msg_types=$("#msgTypesSelect").val();
        }
        if($("#sendTypesSelect").val()!=''){
            listData.send_types=$("#sendTypesSelect").val();
        }
        if($("#msgTitleInput").val()!=''&&$("#msgTitleInput").val().trim()){
            listData.msg_title=$("#msgTitleInput").val()
        }
        init();
    })
})